var ds;
var grid;
var insertForm;
var updateForm;
var form;
var win;
Ext.onReady(function() {

			initData();

		});

var wh;
function initData() {
	ds = new Ext.data.Store({
				proxy : new Ext.data.HttpProxy({
							url : '../dispatchIndex.do?action=list'
						}),

				reader : new Ext.data.JsonReader({
							totalProperty : 'totalProperty',
							root : 'root'
						}, [{
									name : 'salesid'
								}, {
									name : 'plannum'
								}, {
									name : 'ctrlqty'
								}, {
									name : 'ctrldate'
								}, {
									name : 'ctrldatet'
								}, {
									name : 'spec'
								}, {
									name : 'ssign'
								}, {
									name : 'plate'
								}])
			});
	wh = new Ext.data.Store({
				proxy : new Ext.data.HttpProxy({
							url : '../dispatchIndex.do?action=warehouse'
						}),

				reader : new Ext.data.JsonReader({
							totalProperty : 'totalProperty',
							root : 'root'
						}, [{
									name : 'whid'
								}, {
									name : 'prdtType'
								}, {
									name : 'ssign'
								}, {
									name : 'spec'
								}, {
									name : 'plate'
								}, {
									name : 'zhenpian'
								}])
			});

	ds.load({
				params : {
					start : 0,
					limit : 10
				}
			});
	initGrid();
}
function getUpdateForm() {
	if (!updateForm) {
		updateForm = new Ext.FormPanel({
					labelWidth : 75,
					url : '../dispatchIndex.do?action=jump',
					frame : true,
					bodyStyle : 'padding:5px 5px 0',
					width : 340,
					defaults : {
						width : 230
					},
					defaultType : 'textfield',
					items : [{
								fieldLabel : '销售单号',// 一开始漏了个主id,导致update不成功
								name : 'salesid',
								readOnly : true,
								allowBlank : false
							}, {
								fieldLabel : '生产计划号',// 一开始漏了个主id,导致update不成功
								name : 'plannum',
								readOnly : true,
								allowBlank : false
							}, {
								fieldLabel : '销售数量',// 一开始漏了个主id,导致update不成功
								name : 'ctrlqty',
								readOnly : true,
								allowBlank : false
							}, {

								fieldLabel : '牌号',// 一开始漏了个主id,导致update不成功
								name : 'ssign',
								readOnly : true,
								allowBlank : false
							}, {

								fieldLabel : '规格',// 一开始漏了个主id,导致update不成功
								name : 'spec',
								readOnly : true,
								allowBlank : false
							}, {
								fieldLabel : '镀层',// 一开始漏了个主id,导致update不成功
								name : 'plate',
								readOnly : true,
								allowBlank : false
							}, {
								xtype : 'datefield',
								format : 'Y-m-d',
								readOnly : true,
								fieldLabel : '发货起始日期',
								name : 'ctrldate',

								anchor : '90%'
							}, {
								xtype : 'datefield',
								format : 'Y-m-d',
								readOnly : true,
								fieldLabel : '发货截止日期',
								name : 'ctrldatet',

								anchor : '90%'
							}]
				});
	}
	return updateForm;
}// 构造了一个更新的界面。
var whGrid;
function getWH() {
	Ext.QuickTips.init();
	var sm = new xg.CheckboxSelectionModel();
	if (!whGrid) {
		var chengpin = new xg.GridPanel({
			id : 'wh-grid',
			autoScoll : true,
			ds : wh,
			cm : new xg.ColumnModel([sm, {
						header : "仓库编号",
						// width : 50,
						sortable : true,
						dataIndex : 'whid'
					}, {
						header : "所属类型",
						// width : 50,
						sortable : true,
						dataIndex : 'prdtType'
					}, {
						header : "牌号",
						// width : 40,
						sortable : true,
						dataIndex : 'ssign'
					}, {
						header : "规格",
						// width : 50,
						sortable : true,
						dataIndex : 'spec'
					}, {
						header : "镀层",
						// width : 50,
						sortable : true,
						dataIndex : 'plate'
					}, {
						header : "发货数量",
						// width : 50,
						sortable : true,
						dataIndex : 'zhenpian'
					}]),
			sm : sm,
			stripeRows : true,

			viewConfig : {
				forceFit : true
			},

			bbar : new Ext.PagingToolbar({
						id : "page_id",
						pageSize : 10,
						store : wh,
						displayInfo : true,
						displayMsg : '显示第 {0} 条到 {1} 条记录，一共 {2} 条',
						emptyMsg : "没有记录"
					}),
			width : 700,
			autoHeight : true,
			// frame:true,
			title : '仓库信息列表'
				// iconCls : 'icon-grid'
			})
		return chengpin;
	} else
		return whGrid;
}
var xg = Ext.grid;
function initGrid() {
	Ext.QuickTips.init();

	/**/
	if (!form)
		form = getUpdateForm();
	/* win */
	if (!win) {
		win = new Ext.Window({
			layout : 'column',
			width : 700,
			autoHeight : true, // 4601782
			closeAction : 'hide',
			plain : true,
			items : form,
			modal : false,// 如果这个属性不设，弹出窗口会增加20M内存使用。
			buttons : [{
				text : '提交',
				handler : function() {
					if (form.getForm().isValid()) {
						form.getForm().submit({
									success : function(retForm, retAction) {
										window.location.href = "taskDispatchIndex.jsp";
									}

								});
					} else {
						Ext.MessageBox.alert('提示', '请填入必需的数据');
					}
				}
			}, {
				text : '关闭',
				handler : function() {
					// form.getForm().reset();
					win.hide();
				}
			}]
		});
	}
	// ////////////////////////////////////////////////////////////////////////////////
	// Grid
	// //////////////////////////////////////////////////////////////////////////////////////
	var sm = new xg.CheckboxSelectionModel();
	grid = new xg.GridPanel({
		id : 'button-grid',
		autoScoll : true,
		ds : ds,
		cm : new xg.ColumnModel([sm, {
					header : "销售编号",
					// width : 50,
					sortable : true,
					dataIndex : 'salesid'
				}, {
					header : "订单编号",
					// width : 50,
					sortable : true,
					dataIndex : 'plannum'
				}, {
					header : "牌号",
					// width : 40,
					sortable : true,
					dataIndex : 'ssign'
				}, {
					header : "规格",
					// width : 50,
					sortable : true,
					dataIndex : 'spec'
				}, {
					header : "镀层",
					// width : 50,
					sortable : true,
					dataIndex : 'plate'
				}, {
					header : "发货数量",
					// width : 50,
					sortable : true,
					dataIndex : 'ctrlqty'
				}, {
					header : "开始时间",
					// width : 50,
					sortable : true,
					dataIndex : 'ctrldate'
				}, {
					header : "结束时间",
					// width : 50,
					sortable : true,
					dataIndex : 'ctrldatet'
				}]),
		sm : sm,
		stripeRows : true,

		viewConfig : {
			forceFit : true
		},

		// inline toolbars
		tbar : [{
			text : '成品仓库查询',
			tooltip : '重新设置发货单号和订单号',
			iconCls : 'add',
			onClick : function() {
				if (sm.getCount() == 1) {
					TYPE = "chengpin";
					wh.load({
								params : {
									start : 0,
									limit : 10,
									isNew : true,
									ssign : sm.getSelections()[0].data["ssign"],
									spec : sm.getSelections()[0].data["spec"],
									type : 'chengpin'
								},
								callback : function(_ret) {
									if (wh.getCount() < 1)
										Ext.Msg.alert("提示：", "没有找到满足条件的成品");
									else {
										whGrid = getWH();
										form.hide();
										whGrid.show();
										var items = new Ext.util.MixedCollection();
										items.add("form", whGrid);
										// win.width = 355, win.items = items;
										// win.title = "报价单信息";
										win.items = items;
										win.setWidth(700);
										win.show(this);
										Ext.getCmp('page_id').updateInfo();
									}
								}
							});

				} else {
					Ext.MessageBox.alert('提示', '请选择一条记录！');
				}

			}
		}, '-', {
			text : '半成品仓库查询',
			tooltip : '重新设置发货单号和订单号',
			iconCls : 'add',
			onClick : function() {

				if (sm.getCount() == 1) {
					TYPE = "bopian";
					wh.load({
								params : {
									start : 0,
									limit : 10,
									isNew : true,
									ssign : sm.getSelections()[0].data["ssign"],
									spec : sm.getSelections()[0].data["spec"],
									type : 'bopian'
								},
								callback : function(_ret) {
									if (wh.getCount() < 1)
										Ext.Msg.alert("提示：", "没有找到满足条件的半成品");
									else {
										form.hide();
										whGrid = getWH();
										whGrid.show();
										var items = new Ext.util.MixedCollection();
										items.add("form", whGrid);
										// win.width = 355, win.items = items;
										// win.title = "报价单信息";
										win.items = items;
										win.setWidth(700);
										win.show(this);
										Ext.getCmp('page_id').updateInfo();
									}
								}
							});

				} else {
					Ext.MessageBox.alert('提示', '请选择一条记录！');
				}

			}
		}, '-', {
			text : '圆柱仓库查询',
			tooltip : '重新设置发货单号和订单号',
			iconCls : 'add',
			onClick : function() {
				if (sm.getCount() == 1) {
					TYPE = "yuanzhu";
					wh.load({
								params : {
									start : 0,
									limit : 10,
									isNew : true,
									ssign : sm.getSelections()[0].data["ssign"],
									spec : sm.getSelections()[0].data["spec"],
									type : 'yuanzhu'

								},
								callback : function(_ret) {
									if (wh.getCount() < 1) {
										win.hide();
										Ext.Msg.alert("提示：", "没有找到满足条件的毛皮");
									}

								}
							});
					whGrid = getWH();
					whGrid.show();
					form.hide();
					var items = new Ext.util.MixedCollection();
					items.add("form", whGrid);
					// win.width = 355, win.items = items;
					// win.title = "报价单信息";
					win.setWidth(700);
					win.items = items;
					win.show(this);
					// Ext.getCmp('page_id').updateInfo();

				} else {
					Ext.MessageBox.alert('提示', '请选择一条记录！');
				}
			}
		}, '-', {
			text : '烧结任务安排',
			tooltip : '对选定的订单号进行结算',
			iconCls : 'option',
			onClick : function() {
				if (sm.getCount() == 1) {

					form = getUpdateForm();
					form.show();
					if(whGrid)//=='undefined')
					whGrid.hide();
					var items = new Ext.util.MixedCollection();
					items.add("form", form);

					win.items = items;
					win.setWidth(355);
					win.show(this);
					form.getForm().reset();
					form.getForm().loadRecord(sm.getSelected());
				} else {
					Ext.MessageBox.alert('提示', '请选择一条记录！');
				}
			}

		}],

		bbar : new Ext.PagingToolbar({
					pageSize : 10,
					store : ds,
					displayInfo : true,
					displayMsg : '显示第 {0} 条到 {1} 条记录，一共 {2} 条',
					emptyMsg : "没有记录"
				}),
		width : 700,
		autoHeight : true,
		// frame:true,
		title : '发货信息列表',
		iconCls : 'icon-grid',
		renderTo : 'main'
	});
};
